package com.sui.bigdata.sml.web.service;

import com.sui.bigdata.sml.web.dto.*;
import com.sui.bigdata.sml.web.vo.RunNodeVO;

import java.util.List;

/**
 * @author songhaicheng
 * @date 2019/11/7 10:37
 * @description
 * @reviewer
 */
public interface NodeService {

    Long add(NodeDTO dto);

    NodeDTO get(Long id);

    Boolean delete(Long id);

    List<NodeDTO> listByExperiment(ExperimentDTO experimentDto);

    List<NodeDTO> listByComponent(ComponentDTO componentDto);

    Boolean updateBatch(List<NodeDTO> dtos);

    List<ConnectionDTO> listConnectionsByNode(NodeDTO dto);

    List<ConnectionDTO> listAllConnectionsBetweenNodes(List<NodeDTO> dtos);

    Long addConnection(ConnectionDTO dto);

    Boolean deleteConnections(List<Long> connectionIds);

    RunNodeVO run(NodeDTO entry, String type);

    NodeResultDTO getResultByNode(NodeDTO dto);

    List<NodeResultDTO> getResultHistoriesByNode(NodeDTO dto);

}
